Autenticação e Autorização
A autenticação e autorização são cruciais para garantir a segurança das informações acessadas através das nossas API. Utilizamos o protocolo OAuth2.0 com JWT (JSON Web Token) para autenticar e autorizar os usuários e sistemas que interagem com nossa API.
Como obter um token JWT
-
Para obter um token JWT, faça uma requisição a URL de autenticação referente ao ambiente em uso:
- Sandbox:
https://auth-sandbox.catalisa.com.br/oauth2/token
- Produção:
https://auth.catalisa.com.br/oauth2/token
- Sandbox:
-
Utilize o método
POST
. -
Forneça seguintes parâmetros:
- grant_type:
client_credentials
- client_id:
CLIENT_ID
- client_secret:
CLIENT_SECRET
- scope:
escopo1 escopo2 escopoN...
- grant_type:
Lembre-se de substituir CLIENT_ID
, CLIENT_SECRET
pelos valores correspondentes fornecidos a você.
Para mais informações sobre os ambientes, consulte Ambientes Sandbox X Produção.
- javascript
- curl
const params = new URLSearchParams();
params.append("grant_type", "client_credentials");
params.append("client_id", "CLIENT_ID");
params.append("client_secret", "CLIENT_SECRET");
params.append("scope", "escopo1 escopo2 escopoN");
fetch("https://auth-sandbox.catalisa.com.br/oauth2/token", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: params,
}).then(async (response) => {
const data = await response.json();
console.log(data);
});
curl -X POST https://auth-sandbox.catalisa.com.br/oauth2/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=escopo1 escopo2 escopoN'
No contexto dos JSON Web Tokens (JWT), "scope" refere-se ao escopo de acesso que o token concede ao usuário. O escopo define as permissões e os recursos que o usuário pode acessar ao utilizar aquele token. Por exemplo, em uma aplicação, diferentes tokens podem ser emitidos para diferentes níveis de acesso, como um token que permite apenas ler informações enquanto outro permite alterações.
Se a solicitação for bem-sucedida, você receberá uma resposta contendo o token JWT, que pode ser usado para fazer solicitações autenticadas à API.
Exemplo de resposta:
{
"access_token": "abc123...",
"token_type": "Bearer",
"expires_in": 3600
}
Exemplo de uso do token obtido:
Uma vez obtido o token JWT, inclua-o no cabeçalho Authorization
de suas requisições: Authorization: Bearer SEU_TOKEN_JWT
- javascript
- curl
fetch("https://api-sandbox.catalisa.com.br/partnership-mgmt/api/v1/partners", {
method: "GET",
headers: { "Authorization": "Bearer abc123..." },
}).then(async (response) => {
const data = await response.json();
console.log(data);
});
curl -X GET https://api-sandbox.catalisa.com.br/partnership-mgmt/api/v1/partners \
-H 'Authorization: Bearer abc123...'
O token tem uma validade, geralmente de 1 hora (expires_in
será 3600
segundos). Após esse período, você precisará obter um novo token.